package com.gitee.sop.message.manager;

import com.gitee.sop.message.Sender;

import java.util.List;
import java.util.Map;

/**
 * @author: huwei
 * @date: 2020/6/10 17:42
 * @version: 1.0.0
 */
public interface SenderManagerService {
    /**
     * 获取所有的短信发送者的基础信息
     *
     * @return
     */
    List<Map<String, Object>> getAllSmsSenderInfo();

    /**
     * 获取所有的邮箱发送者基础信息
     *
     * @return
     */
    List<Map<String, Object>> getAllEmailSenderInfo();

    /**
     * 获取指定发送者
     *
     * @param code 短信发送者编码
     * @return
     */
    Sender getSender(String code);

    /**
     * 获取指定的参数模板
     *
     * @param code 短信编码
     * @return
     */
    Map<String, Object> getParameterTemplate(String code);

    /**
     * 发送信息
     *
     * @param receiver 指定接收者
     * @param message  信息
     * @param type     发送类型
     * @param param    发送模板参数
     * @return
     */
    boolean send(String senderCode, String receiver, String message,String type, Map<String, Object> param);
}
